package com.winsdom.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "收款记录VO")
public class PaymentReceiptVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "收款记录id")
    private Long paymentId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "收款时间")
    private LocalDateTime receiptTime;

    @ApiModelProperty(value = "收款流水号")
    private String receiptSerial;

    @ApiModelProperty(value = "支付流水号")
    private String paymentSerial;

    @ApiModelProperty(value = "付款人")
    private String payerName;

    @ApiModelProperty(value = "付款业主")
    private String payerCustomerName;

    @ApiModelProperty(value = "支付方式：1-现金,2-支票,3-微信支付,4-支付宝")
    private Integer paymentMethod;

    @ApiModelProperty(value = "收款人")
    private String payeeName;

    @ApiModelProperty(value = "收款账号")
    private String payeeAccount;

    @ApiModelProperty(value = "收款金额")
    private BigDecimal receiptAmount;

    @ApiModelProperty(value = "已核销金额")
    private BigDecimal settledAmount;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundAmount;

    @ApiModelProperty(value = "剩余金额")
    private BigDecimal surplusAmount;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "状态:0-处理中,1-成功,2-失败")
    private Integer status;

}
